В 2017 году компания VMware купила компанию VeloCloud, которая занималась продвижением технологии SD-WAN (software-defined WAN) для организации программно-определяемых WAN-сетей. Напомним, что для корпоративных онпремизных и облачных сетевых сред у VMware есть решение NSX, но решения VeloCloud предназначались для управления WAN-инфраструктурой компаний, которым было необходимо организовать и контролировать доступ пользователей из разных точек земного шара, с разных устройств и разных условиях защищенности и стабильности каналов, когда ресурсы организации, а также внешние SaaS-сервисы, находятся в географических разнесенных датацентрах. Сегодня мы поговорим об инфраструктуре VMware SASE - Secure Access Service Edge, которая призвана решить проблемы нового времени.
В середине июня компания VMware представила сообществу Open Source свою новую разработку - нереляционную базу данных типа key-value SplinterDB. Базы данных с механиками "ключ-значение" работают очень быстро и в данный момент применяются для решения широкого круга задач. VMware сделала тут вот какую вещь - эта СУБД работает еще быстрее остальных (иногда в разы), поэтому она позиционируется как "ultra fast"-решение для высокопроизводительных нагрузок.
Платформа SplinterDB была разработана VMware Research Group в плотном сотрудничестве с группой разработки решений линейки vSAN. Ключевой особенностью этой базы данных является возможность быстро работать как с запросами на вставку/обновление данных, так и с запросами на чтение пар ключ-значение из хранилища. Вот так это выглядит в сравнении с СУБД RocksDB (она была разработана в Facebook), которая работает в той же нише, что и SplinterDB, на примере бенчмарка Yahoo Cloud Services Benchmark (YCSB):
SplinterDB максимально использует возможности ядер процессоров, легко масштабируется и использует все преимущества технологии организации хранилищ NVMe. Поэтому SplinterDB можно использовать поверх существующих key-value хранилищ, а также традиционных реляционных баз данных, NoSQL-СУБД, микросервисов, обработчиков потоков, архитектуры edge/IoT, хранилищ метаданных и графовых баз данных.
SplinterDB - это внедренное key-value хранилище во внешней памяти, что означает, что приложения используют SplinterDB путем линковки библиотеки SplinterDB в свой исполняемый файл. SplinterDB хранит данные на высокопроизводительных дисках SSD NVMe и может масштабироваться до огромных датасетов, которые значительно превышают объемы доступной памяти RAM.
На картинке выше показан пример, где SplinterDB и RocksDB хранили датасет 80 GiB в системе, имеющей 4 GiB RAM. Так как лишь малая часть базы данных помещалась в кэш оперативной памяти, то эффективность работы подсистемы ввода-вывода была ключевым фактором оценки производительности. Для теста использовались диски Intel Optane SSD, которые поддерживают 2 GiB/sec на чтение и запись. При этом RocksDB использовала только 30% доступного канала обмена с хранилищем (для операций записи), а SplinterDB использовала до 90% канала. При чтении SplinterDB также показала себя в полтора раза лучше, чем RocksDB, за счет более эффективного использования CPU и техник кэширования.
В чем же секрет такого высокого уровня производительности? Дело в том, что современные key-value хранилища (включая SplinterDB, RocksDB, LevelDB, Apache Cassandra и другие) хранят данные в больших сортируемых таблицах. Запросы ищут значения в каждой таблице, спускаясь от новых данных к старым. Таким образом, запросы замедляют систему, накапливая все больше и больше таблиц с данными. Чтобы избежать замедления работы, эти системы время от времени объединяют несколько отсортированных таблиц в одну (это называется compaction). Это и создает дисбаланс между скоростью на чтение и скоростью на запись. За счет этого запросы исполняются быстро, но вот вставка данных замедляется. Если compaction делать реже, то вставка будет работать быстрее, но и чтение замедлится.
SplinterDB делает compaction более чем в 8 раз реже, чем RocksDB, поэтому вставка данных и работает в первой примерно в 7 раз быстрее, чем во второй. Но что со скоростью на чтение? Чтобы поддерживать высокую скорость чтения, SplinterDB работает иначе, чем современные хранилища. Большинство из них используют фильтры Bloom (или их еще называют cuckoo), чтобы ускорять запросы.
Фильтр - это маленькая структура данных, которая представляет некое множество из таблицы. RocksDB и аналоги используют один фильтр для каждой таблицы, и запросы прежде всего проверяют фильтр перед тем, как искать во всей таблице, чтобы большинство запросов могли искать только в небольшой структуре. Задумка здесь в том, что фильтры будут хранится в памяти, поэтому I/O операции с хранилищами будут вызываться нечасто.
На быстрых хранилищах этот подход работает не так эффективно, особенно когда набор данных в БД значительно превышает размер доступной оперативной памяти. На быстрых хранилищах затраты на CPU при поиске в фильтрах могут быть высокими ввиду большого числа фильтров. При этом может произойти ситуация, когда фильтры не помещаются в память, поэтому они отбрасываются на диск, что делает их использование в этом случае бесполезным.
SplinterDB использует новый вид фильтра, называемый routing filter. Один такой фильтр может заменить несколько фильтров типа Bloom, cuckoo или ribbon и может покрыть сразу несколько таблиц. Обычные фильтры могут сказать только, есть ли соответствующий ключ в доступности в данный момент или нет, а вот routing filter может не только сказать, что ключ есть, но и указать на то, какая конкретно из отсортированных таблиц его содержит. Поэтому запросам нужно делать гораздо меньше работы по поиску в фильтрах, а значит снижается нагрузка на CPU.
Кроме того, поиск в одном фильтре может сильно сэкономить на запросах ко многим таблицам, даже если этот фильтр занимает много места в RAM. Этот механизм работы с данными и был придуман в VMware. Все это позволяет существенно экономить на вычислительных мощностях для очень тяжелых и интенсивных нагрузок.
Многие администраторы виртуальных инфраструктур используют технологию NVIDIA vGPU, чтобы разделить физический GPU-модуль между виртуальными машинами (например, для задач машинного обучения), при этом используется профиль time-sliced vGPU (он же просто vGPU - разделение по времени использования) или MIG-vGPU (он же Multi-Instance vGPU, мы писали об этом тут). Эти два режима позволяют выбрать наиболее оптимальный профиль, исходя из особенностей инфраструктуры и получить наибольшие выгоды от технологии vGPU.
Итак, давайте рассмотрим первый вариант - сравнение vGPU и MIG vGPU при увеличении числа виртуальных машин на GPU, нагруженных задачами машинного обучения.
В этом эксперименте была запущена нагрузка Mask R-CNN с параметром batch size = 2 (training and inference), в рамках которой увеличивали число ВМ от 1 до 7, и которые разделяли A100 GPU в рамках профилей vGPU и MIG vGPU. Эта ML-нагрузка была легковесной, при этом использовались различные настройки профилей в рамках каждого тестового сценария, чтобы максимально использовать время и память модуля GPU. Результаты оказались следующими:
Как мы видим, MIG vGPU показывает лучшую производительность при росте числа ВМ, разделяющих один GPU. Из-за использования параметра batch size = 2 для Mask R-CNN, задача тренировки в каждой ВМ использует меньше вычислительных ресурсов (используется меньше ядер CUDA) и меньше памяти GPU (менее 5 ГБ, в сравнении с 40 ГБ, который имеет каждый GPU). Несмотря на то, что vGPU показывает результаты похуже, чем MIG vGPU, первый позволяет масштабировать нагрузки до 10 виртуальных машин на GPU, а MIG vGPU поддерживает на данный момент только 7.
Второй вариант теста - vGPU и MIG vGPU при масштабировании нагрузок Machine Learning.
В этом варианте исследовалась производительность ML-нагрузок при увеличении их интенсивности. Был проведен эксперимент, где также запускалась задача Mask R-CNN, которую модифицировали таким образом, чтобы она имела 3 разных степени нагрузки: lightweight, moderate и heavy. Время исполнения задачи тренировки приведено на рисунке ниже:
Когда рабочая нагрузка в каждой ВМ использует меньше процессора и памяти, время тренировки и пропускная способность MIG vGPU лучше, чем vGPU. Разница в производительности между vGPU и MIG vGPU максимальна именно для легковесной нагрузки. Для moderate-нагрузки MIG vGPU также показывает себя лучше (но немного), а вот для тяжелой - vGPU уже работает производительнее. То есть, в данном случае выбор между профилями может быть обусловлен степенью нагрузки в ваших ВМ.
Третий тест - vGPU и MIG vGPU для рабочих нагрузок с высокой интенсивность ввода-вывода (например, Network Function with Encryption).
В этом эксперименте использовалось шифрование Internet Protocol Security (IPSec), которое дает как нагрузку на процессор, так и на подсистему ввода-вывода. Тут также используется CUDA для копирования данных между CPU и GPU для освобождения ресурсов процессора. В данном тесте IPSec использовал алгоритмы HMAC-SHA1 и AES-128 в режиме CBC. Алгоритм OpenSSL AES-128 CBC был переписан в рамках тестирования в части работы CUDA. В этом сценарии vGPU отработал лучше, чем MIG vGPU:
Надо сказать, что нагрузка эта тяжелая и использует много пропускной способности памяти GPU. Для MIG vGPU эта полоса разделяется между ВМ, а вот для vGPU весь ресурс распределяется между ВМ. Это и объясняет различия в производительности для данного сценария.
Основные выводы, которые можно сделать по результатам тестирования:
Для легковесных задач машинного обучения режим MIG vGPU даст бОльшую производительность, чем vGPU, что сэкономит вам деньги на инфраструктуру AI/ML.
Для тяжелых задач, где используются большие модели и объем входных данных (а значит и меньше ВМ работают с одним GPU), разница между профилями почти незаметна.
Для тяжелых задач, вовлекающих не только вычислительные ресурсы и память, но и подсистему ввода-вывода, режим vGPU имеет преимущество перед MIG vGPU, что особенно заметно для небольшого числа ВМ.
Многие из вас знают компанию StarWind Software, лидера в сфере поставки программных и программно-аппаратных решений для создания отказоустойчивых хранилищ. Помимо решений непосредственно для организации хранилищ, у компании есть и виртуальный модуль StarWind Backup Appliance, который предназначен для резервного копирования виртуальных машин на хранилищах StarWind. Это программно-аппаратный комплекс на базе оборудования NVMe, который позволяет избавиться от проблемы производительности хранилищ резервных копий и забыть о задаче планирования окна резервного копирования.
Модуль StarWind Backup Appliance поставляется в виде настроенного и готового к работе сервера резервного копирования, построенного на базе StarWind HyperConverged Appliance (HCA). Работа с продуктом происходит через удобный веб-интерфейс StraWind Web UI, есть также плагин StarWind для vCenter.
В апреле компания StarWind объявила, что StarWind Backup Appliance теперь включает в себя оборудование GRAID SupremeRAID - первую в мире карточку NVMe-oF RAID, которая обеспечивает высочайший уровень защиты данных в рамках технологии NVMe RAID на рынке.
Диски NVMe SSD постепенно становятся стандартом индустрии хранения данных, а решение для резервного копирования StarWind BA уже использует полностью только NVMe-хранилища. В этих системах была только одна проблема - с надежной реализацией RAID, и вот теперь она решена с помощью GRAID.
Традиционные RAID-контроллеры не были разработаны изначально для технологии NVMe, а программные RAID работают недостаточно эффективно, потребляя при этом большое число циклов CPU, что мешает рабочим нагрузкам сервера. Поэтому с теперь помощью карточек GRAID комплексы StarWind Backup Appliance обеспечат максимальную производительность и защиту данных на базе дисков NVMe SSD.
Вот так выглядят результаты тестов технологии GRAID по сравнению с текущими реализациями аппаратных RAID для NVMe:
Более подробно об этом нововведении можно узнать из пресс-релиза StarWind. Скачать пробную версию StarWind Backup Appliance можно по этой ссылке.
Недавно компания VMware опубликовала интересное тестирование, посвященное работе и масштабированию высокопроизводительных нагрузок (High Performance Computing, HPC) на платформе VMware vSphere 7.
Основной целью тестирования было сравнение нативной производительности HPC-нагрузок на голом железе (bare metal) с работой этих машин на платформе vSphere.
Рабочие нагрузки использовали message passing interface (MPI) с приложениями на базе параллельных процессов (MPI ranks), которые могли объединять несколько физических серверов или виртуальных машин для решения задач. Например, использовались задачи computational fluid dynamics (CFD) для моделирования воздушных потоков в автомобильной и авиа индустриях.
В качестве тестового стенда использовался HPC-кластер из 16 узлов на базе Dell PowerEdge R640 vSAN ReadyNodes в качестве масштабируемых блоков. R640 представлял собой одноюнитовый сервер с двумя процессорами Intel Xeon.
Топология кластера выглядела следующим образом:
Коммутаторы Dell PowerSwitch Z9332 соединяли адаптеры NVIDIA Connect-X6 на скорости 100 GbE по интерфейсу RDMA для MPI-нагрузок.
Отдельная пара коммутаторов Dell PowerSwitch S5248F 25 GbE top of rack (ToR) использовалась для сети управления гипервизором, сети vSAN и доступа к ВМ.
Для соединений использовался virtual link trunking interconnect (VLTi). В рамках теста был создан кластер vSAN с поддержкой RDMA.
Конфигурация физических адаптеров выглядела следующим образом:
Вот так выглядит набор HPC-приложений и бенчмарков из разных индустрий, на базе которых проводилось тестирование:
В процессе тестирования производилось масштабирование высокопроизводительного кластера от 1 до 16 узлов, а результаты фиксировались для физической платформы и для виртуальной среды.
Итак, первая задача о динамике жидкостей:
Вторая задача - моделирование прогнозов погоды:
Третья задача - молекулярная динамика (тут на 16 узлах уже есть отличие производительности до 10%):
Еще один бенчмарк по молекулярной динамике, тут тоже есть 10%-е падение производительности на виртуальной платформе, но заметно его становится только при большом количестве узлов:
Бенчмарк NAMD, тут все почти одинаково:
Конечно же, в процессе тестирования производился тюнинг различных настроек самой платформы vSphere и виртуальных машин, вот какие настройки использовались:
Вот так это выглядит в интерфейсе vSphere Client:
Полную версию отчета о тестировании вы можете посмотреть здесь, но из картинок выше вполне понятно, что платформа VMware vSphere и решение vSAN отлично оптимизированы для работы с высокопроизводительными вычислениями.
Традиционно документ разбит на 4 больших блока, касающихся оборудования, самой платформы vSphere и серверов ESXi, виртуальных машин, их гостевых систем и средств управления виртуальной инфраструктурой:
Hardware for Use with VMware vSphere
ESXi and Virtual Machines
Guest Operating Systems
Virtual Infrastructure Management
Подразделы этих глав содержат очень много конкретных пунктов про различные аспекты оптимизации виртуальных датацентров и объектов, работающих в их рамках.
Документ очень полезный, состоит из почти ста страниц и дает просто огромное количество полезной информации для администраторов, одной из главных задач которых является поддержание требуемого уровня производительности виртуальной среды.
Скачать Performance Best Practices for VMware vSphere 7.0, Update 3 можно по этой ссылке.
Компания Principled Technologies выпустила интересное сравнение производительности в контексте плотности размещения виртуальных машин на сервере (VM Density), которое показывает превосходство гипервизора VMware vSphere 7 Update 2 над открытой архитектурой Red Hat OpenShift версии 4.9.
Для тестирования использовались виртуальные машины с полезной нагрузкой SQL Server. С точки зрения оборудования использовался кластер из 5 одинаковых серверов HPE ProLiant DL380 Gen 10, где были размещены ВМ, также для OpenShift дополнительно использовались еще 3 хоста как управляющие узлы.
Первый результат теста - это максимальное число активных виртуальных машин на один узел, которые можно было разместить при обеспечении определенного уровня производительности SQL Server. Тут результат 14-30 в пользу платформы VMware vSphere 7 Update 2:
Также создавали простаивающие виртуальные машины и смотрели, какое их максимальное количество можно разместить на одном хосте, тут тоже vSphere далеко впереди:
В исследовании отдельно подчеркивается, что VMware vSphere имеет также следующие преимущества:
Механизм обеспечения высокой доступности VMware HA работает более эффективно и проще настраивается
Рутинные задачи (Day-2) на платформе VMware vSphere выполнять удобнее и быстрее
Для хостов ESXi можно делать апгрейд хостов без их перезагрузки
Многие из вас знакомы с решением VMware App Volumes, которое предназначено для распространения готовых к использованию приложений посредством подключаемых виртуальных дисков к машинам. В 2014 году компания VMware купила этот продукт вместе с компанией CloudVolumes, которая на тот момент выпускала решение, позволявшее распространять виртуализованные приложения VMware ThinApp в виде дисков VMDK, которые можно подцепить к виртуальным машинам, предоставляя тем самым ее пользователям доступ к данному приложению...
Как знают администраторы VMware vSphere, сервер управления виртуальной инфраструктурой vCenter умеет исполнять задачи, создаваемые различными пользователями, в параллельном режиме в целях ускорения работы. Их может быть несколько сотен, а число одновременных сессий от пользователей в теории может достигать двух тысяч.
Не так давно компания VMware выпустила интересное видео "Extreme Performance Series: vCenter Concurrency", где рассказывается о различных аспектах работы этого механизма:
Также вам могут оказаться полезными следующие статьи о vCenter и его механизме параллельно исполняемых задач, материал из которых релевантен обсуждаемому в видео выше:
Весной 2020 года компания VMware объявила об интеграции своей платформы для виртуализации и доставки настольных ПК предприятия Horizon с решениями компании ControlUp, которая является технологическим партнером VMware.
В ноябрьском обновлении VMware Horizon 2111, о котором мы писали вот тут, эта интеграция уже реализована. Суть данных интеграций - дать администраторам набор инструментов для отладки подключений и производительности виртуальных ПК пользователей, который все чаще стали работать из дома, а значит в очень неоднородной среде с точки зрения скорости и стабильности соединения.
Первый продукт, который поддерживает новый релиз - это решение Scoutbees. Оно позволяет мониторить доступность сетевых ресурсов (десктопы, приложения, компоненты VMware UAG и DNS и прочее) и оповещать администраторов о проблемах, с которыми сталкиваются пользователи. Путем анализа проблем (они могут и не подтвердиться на стороне клиента) - администраторы предпринимают определенные действия по улучшению соединений.
Scoutbees осуществляет синтетический мониторинг, то есть посылает запросы к удаленному ресурсу и получает не только ответ, но и метрики key performance indicators (KPI), которые могут использоваться для целей прогнозирования и анализа подозрительных активностей. Для анализа инфраструктуры виртуальных ПК вы можете подключить мониторинг компонентов VMware Unified Access Gateway (UAG) и Horizon Connection Server. Также решение может проактивно тестировать доступность веб-приложений, сетевых служб, DNS-серверов, файловых шар, принтеров и других ресурсов.
Scoutbees - это облачный SaaS-продукт, который можно начать использовать прямо из браузера, без необходимости развертывания в своей инфраструктуре. Есть также и онпремизная его версия.
Вторая интеграция - это возможность использования решения Remote DX для мониторинга компьютеров удаленных пользователей. Это средство позволяет удаленно собрать информацию о скорости и качестве Wi-Fi соединения, а также производительности подключения пользователя к интернету. Вследствие этого администраторы могут делать скоринг пользователей по этому параметру и решать возникающие проблемы пользователей. Вот, например, у пользователя задержка (latency) составляет 219 миллисекунд между его устройством точкой доступа Wi-Fi. А между Horizon Client и его десктопом Horizon задержка равна 362 миллисекундам.
С использованием Remote DX администратор видит, что у пользователя относительно сильный сигнал Wi-Fi на уровне 81% и round-trip time (RTT), которое для гугла составляет 244 миллисекунды. А вот от роутера до гугла пользователь получает задержку 25 мс - это значит проблема в связи между устройством пользователя и его роутером.
По умолчанию решение Remote DX отображает только основные метрики, но собирает оно все, и их можно вывести для отображения в таблице:
Также можно использовать ControlUp Real-Time Console для вывода информации информации в колонках в соответствии с заранее сделанными пресетами:
Самая главная метрика здесь - это Client Device Score, которая дает администратору понять, все ли в порядке у пользователя с интернетом и доступом к удаленному десктопу в целом. Также есть и другие колонки, которые помогут вам понять, в чем дело, если у пользователя есть проблемы:
Более подробно об интеграции VMware Horizon и Remote DX рассказано вот в этой статье.
Довольно давно мы писали о технологии Remote Direct Memory Access (RDMA) которая позволяет не использовать CPU сервера для удаленного доступа приложения к памяти другого хоста. RDMA позволяет приложению обратиться (в режиме чтение-запись) к данным памяти другого приложения на таргете, минуя CPU и операционную систему за счет использования аппаратных возможностей, которые предоставляют сетевые карты с поддержкой этой технологии - называются они Host Channel Adaptor (HCA).
Также некоторое время назад мы писали о VMware Paravirtual RDMA (PVRDMA) - технологии, поддержка которой появилась еще в VMware vSphere 6.5. С помощью нее для сетевых адаптеров PCIe с поддержкой RDMA можно обмениваться данными памяти для виртуальных машин напрямую через RDMA API, что важно для нагрузок High Performance Computing (HPC) на платформе vSphere.
Работает PVRDMA только в окружениях, где есть хосты ESXi с сетевыми картами с соответствующей поддержкой, а также где виртуальные машины подключены к распределенному коммутатору vSphere Distributed Switch (VDS). Альтернативой этому режиму использования сетевых карт является технология VMDirectPath I/O (passthrough), которая напрямую пробрасывает устройство в виртуальную машину. Это, конечно, самый оптимальный путь с точки зрения производительности, однако он не позволяет использовать многие полезные технологии VMware, такие как HA, DRS и vMotion.
Недавно компания VMware выпустила интересный документ "Paravirtual RDMA for High Performance Computing", где рассматриваются аспекты развертывания и производительности PVRDMA, а также производится тестирование этой технологии в сравнении с VMDirectPath I/O и TCP/IP:
Читать весь документ, наверное, не стоит - можно довериться методике тестирования VMware и ее подходу к оценке производительности. Тестовый стенд выглядел так:
Состав оборудования и особенности тестирования:
8 хостов ESXi 7.0 на платформе PowerEdge C6420 с Intel Xeon Gold 6148 CPU на борту (20 ядер / 40 потоков), 200GB RAM NVIDIA Mellanox ConnectX-5 Ex 100GbE NIC на канале RDMA
Карты NVIDIA Mellanox ConnectX-5 Ex NIC, соединенные через коммутатор 100GbE NVIDIA Mellanox
CentOS 7.6, 20 vCPUs, 100GB RAM, ВМ на датасторе vSAN, одна ВМ на хост ESXi
OpenMPI версии 4.1.0, использующая using openib BTL для транспорта RDMA
OpenFOAM версии 8, исполняющая тест cavityFine из руководства OpenFOAM. Этот тест исполняет симуляцию течения жидкости с заданными параметрами.
Тут можно просто взглянуть на следующие картинки, чтобы понять, что при использовании PVRDMA вы теряете не так уж и много в сравнении с VMDirectPath I/O.
Результаты теста по времени исполнения в секундах (для 2,4 и 8 хостов, соответственно):
Визуализация результатов при изменении числа узлов:
В среднем, потери производительности на PVRDMA составляют до 20%, зато вы получаете множество преимуществ, которые дает полная виртуализация без жесткой привязки к оборудованию - консолидация, HA и vMotion:
В сравнении с TCP дела тоже обстоят хорошо, результат лучше на 30-80%, в зависимости от числа узлов:
Скачать документ VMware Paravirtual RDMA for High Performance Computing можно по этой ссылке.
В конце лета прошлого года мы писали об интереснейшем документе "VMware vSphere Snapshots: Performance and Best Practices", который содержит весьма полезную многим администраторам информацию о производительности снапшотов, а также лучшие практики по обращению с ними. Мы, кстати, часто пишем про это (1, 2, 3), и хорошо, что теперь об этом есть и подробный документ с картинками.
В конце года VMware решила обновить этот whitepaper, добавив туда немного информации о производительности снапшотов в инфраструктуре контейнеризованных приложений Kubernetes на платформе vSphere.
Тестовая конфигурация там выглядела вот так:
Соответственно, процедура тестирования выглядела так:
Снимаем базовый уровень производительности для ВМ worker-ноды без снапшотов под нагрузкой
Создаем снапшот ВМ worker-ноды
Запускаем бенчмарк и получаем данные о производительности
Увеличиваем по одному число снапшотов и повторяем цикл тестирования
Тестировались приложения Weathervane и Redis. Результаты показали, что даже при большом количестве снапшотов производительность не падает:
Компания VMware выпустила интересный документ "Intel architecture optimizes VMware SD-WAN Edge performance", в котором рассказывается о решении VMware Secure Access Service Edge (SASE) на базе аппаратных платформ Intel. Решение SASE объединяет компоненты интегрированной среды VMware, предназначенные для создания распределенной инфраструктуры безопасного и производительного доступа пользователей к приложениям и средства контроля этой активности.
Экосистема решения, описанного в документе, выглядит следующим образом:
Идея концепции SASE в том, чтобы обеспечивать защиту доступа к приложениям в географических центрах, максимально приближенных к облачной инфраструктуре, где эти приложения находятся (публичные облака и облака сервис-провайдеров). Сейчас у SASE есть более, чем 150 точек присутствия (points of presence, PoP), где физически размещено оборудование в облачных датацентрах, что позволяет построить безопасный и высокопроизводительный мост к SaaS-сервисам приложений.
Компоненты SASE включают в себя следующие решения:
Облачную технологию VMware SD-WAN, которая виртуализует WAN-сети в целях отделения программных служб от оборудования, что дает гибкость, простоту управления, производительность, безопасность и возможность быстрого масштабирования в облаках.
Компонент VMware Secure Access для удаленного доступа в рамках фреймворка zero-trust network access (ZTNA). Это новый уровень VPN-решений, который дает новые инструменты для доступа к облачным приложениям.
VMware Cloud Web Security - это интегрированное решение на базе таких техник, как Secure Web Gateway (SWG), cloud access security broker (CASB), data loss prevention (DLP), URL filtering, а также remote browser isolation (RBI), что реализовано на уровне SASE PoP для защиты прямого доступа к SaaS-приложениям и веб-сайтам.
VMware Edge Network Intelligence - это платформа для отслеживания активности подключений и сетевых потоков в рамках концепции AIOps, которая предполагает использование алгоритмов AI/ML для аналитики трафика WAN-to-branch, WiFi/LAN, а также на уровне приложений.
В документе описывается использование компонентов VMware SD-WAN Edge на базе различных платформ Intel, использующих процессоры Atom и Xeon. Требуемая конфигурация устройств SD-WAN рассматривается через призму требований приложений к пропускной способности канала, а также объема виртуализуемых сетевых служб, таких как фаерволы, системы IDS и прочее, которые работают как VNF (virtual network functions) в рамках программно-аппаратных модулей.
Недавно мы писали об уязвимости Log4j, затрагивающей компоненты веб-серверов Apache Software Foundation log4j Java logging, а значит присутствующей и во многих продуктах VMware. Также мы рассказывали о том, как понять, что вас сканируют на уязвимость log4j, если у вас есть VMware vRealize Network Insight.
Надо сказать, что у партнеров VMware есть такое средство, как HealthAnalyzer, которое осуществляет сбор данных с различных компонентов виртуальной среды и составляет отчет об их состоянии. Оно позволяет собрать детальную информацию о продуктах VMware Horizon, VMware vSphere и VMware NSX, которая включает в себя различные конфигурации и данные об использовании. Собранные с помощью VMware HealthAnalyzer Collector данные можно отправить партнерам VMware или в саму VMware для дальнейшего анализа.
HealthAnalyzer позволит вам обнаружить угрозы, которые описаны в статьях CVE-2021-4428, CVE-2021-45046 и CVE-2021-45105 (а это 10/10 и 7.5/10 по шкале серьезности). Однако чтобы это работало, вам нужно удалить старую версию VMware HealthAnalyzer и поставить новую с портала Partner Connect.
Чтобы удалить старую Java-версию HealthAnalyzer, нужно просто удалить ее папки и связанные файлы. Для виртуальных модулей - нужно выключить ВМ и удалить ее из инвентори.
Также если вы будете использовать предыдущую версию анализатора, то ваши регистрационные данные в форме не будут приняты:
За установкой продукта HealthAnalyzer обращайтесь к своему поставщику VMware.
Ну и бонус-видео о том, как временно обезопасить свой VMware vCenter от Log4j, пока критические фиксы еще в пути:
Сегодня мы поговорим об улучшениях в плане производительности платформы VMware vSphere 7 Update 3, о которых рассказано в обновившемся недавно документе "What’s New in Performance for VMware vSphere 7?". О похожем документе о производительности платформы vSphere 7 Update 2 мы писали в начале осени тут.
Давайте посмотрим, что нового в vSphere 7 U3 в плане производительности:
1. Масштабируемость виртуальных машин
Теперь максимальные параметры ВМ, доступных в vSphere выглядят так:
2. Оптимизации рабочих нагрузок, чувствительных к задержкам
Гипервизор VMware ESXi был еще больше оптимизирован, чтобы быстрее исполнять приложения, чувствительные ко времени отклика и задержкам (ultra-low-latency applications), уменьшены jitter и interference для приложений реального времени. Для этого было сделано множество оптимизаций в плане обработки прерываний. Чтобы воспользоваться этой функцией (low-latency mode) ее надо включить в BIOS машины.
3. Технология vSphere Memory Monitoring and Remediation (vMMR)
Размер памяти DRAM влияет на 50-60% стоимости самого сервера. При этом 1TB DRAM - это уже 75% этой стоимости. Поэтому VMware давно борется с этим, и одна из возможных оптимизаций здесь - использование Intel Optane Persistent Memory Mode, когда железо использует DRAM как кэш и представляет PMem как основную память системы. PMem более дешевая технология, но имеет побольше задержки (latency).
С помощью vSphere Memory Monitoring and Remediation (vMMR) можно следить за работой памяти в режиме Intel PMem Memory Mode и получать алерты когда ESXi исчерпывает память DRAM, что может привести к падению производительности сервера.
4. NVMe over TCP/IP
В релизе vSphere 7.0 была анонсирована поддержка технология NVMe over Fabrics, где первоначально поддерживались только протоколы FC и RDMA. Теперь же поскольку SSD-хранилища продолжают набирать популярность, а транспорт Non-Volatile Memory Express (NVMe) стал стандартом для многих типов систем, в vSphere 7 Update 3 появилась поддержка и NVMe over TCP, которая позволяет использовать стандартную инфраструктуру TCP/IP, оптимизированную под Flash и SSD, для трафика хранилищ. Это поможет в некоторых случаях существенно сэкономить на оборудовании при поддержании высокого уровня производительности.
Недавно компания VMware провела тестирование баз данных PostgreSQL в качестве рабочей нагрузки в виртуальных машинах vSphere 7.0 U2 с использованием памяти Intel Optane DC persistent memory (PMem). Напомним, что именно на этот тип памяти компания VMware ориентируется при разработке технологии Project Capitola.
Память Intel Optane DC persistent memory (DCPMM она же PMEM) не такая быстрая как DRAM и имеет бОльшие задержки, но они все равно измеряются наносекундами. При этом данная память позволяет иметь ее большой объем на сервере, что существенно повышает плотность ВМ на одном хосте.
В качестве тестового стенда использовалась следующая конфигурация хоста ESXi и виртуальных машин:
Память PMEM была презентована виртуальным машинам как очень быстрое устройство хранения (NVDIMM). Конфигурация PostgreSQL была следующей:
VMware использовала 3 различных конфигурации для тестирования:
2 устройства NVME SSD (это базовый уровень) - оба раздела, WAL и база данных, были на двух разных быстрых SSD
WAL на базе PMEM - раздел WAL поместили на 200-гигабайтное устройство PMem NVDIMM
WAL и база данных на PMem - все разделы были размещены на устройствах PMem NVDIMM
В виртуальной машине запускали стресс-тест базы данных со значительной нагрузкой на диск, средней нагрузкой на систему и интегрированными транзакциями. Пропускная способность (throughput) измерялась в количестве транзакций в секунду (TPS).
Вот что из этого вышло:
По итогу теста для полной нагрузки на PMEM по сравнению с SSD пропускная способность выросла на 44.6%, а задержка (latency) упала на 30.8% (при перенесении только WAL на PMEM эти показатели составили 13.4% и 11.8%, соответственно).
Те же самые параметры для read-only транзакций:
Тут уже разница более, чем в 3 раза. Также VMware попробовала машину с 1 ГБ оперативной памяти вместо 200 ГБ - там улучшение было еще больше, а среднем PMEM дает улучшение производительности по сравнению с SSD в районе 4.5x.
Полное описание процедуры тестирования находится тут.
Компания VMware к началу осени обновила один из самых главных своих документов - "Performance Best Practices for VMware vSphere 7.0, Update 2". Этот whitepaper не просто так называется книгой, так как данный документ представляет собой всеобъемлющее руководство почти на 100 страницах, где рассматриваются все аспекты поддержания и повышения производительности новой версии платформы VMware vSphere 7.0 Update 2 и виртуальных машин в контексте ее основных возможностей.
Глобальные разделы документа:
Hardware for Use with VMware vSphere - о том, какое оборудование и как работает с платформой
ESXi and Virtual Machines - об оптимизации хостов и ВМ на них
Guest Operating Systems - об оптимизации непосредственно гостевых операционных систем
Virtual Infrastructure Management - лучшие практики для средств управления виртуальной инфраструктурой
Ну а подразделы этих глав содержат очень много конкретных пунктов про различные аспекты оптимизации виртуальных датацентров и объектов, работающих в их рамках.
Очень полезное руководство для тех, кто хочет выжать из своей виртуальной среды максимум. Скачать книгу Performance Best Practices for VMware vSphere 7.0, Update 2 можно по этой ссылке.
Очередная интересная штука появилась на сайте проекта VMware Labs - утилита NUMA Observer, которая позволяет обнаружить виртуальные машины с перекрытием использования NUMA-узлов на хостах ESXi. При работе с тяжелыми нагрузками, требовательными к Latency, администраторы часто создают affinity-правила по привязке виртуальных машин к NUMA-узлам и ядрам CPU, чтобы они работали быстрее, с наименьшими задержками.
Но после сбоев и неполадок механизм VMware HA, восстанавливающий виртуальные машины на других хостах, может нарушить эту конфигурацию - там могут быть ВМ с уже привязанными NUMA-узлами, в результате чего возникнет перекрытие (overlap), которое полезно своевременно обнаружить.
С помощью NUMA Observer можно не только обнаруживать перекрытия по использованию ядер CPU и NUMA-узлов со стороны виртуальных машин, но и собирать статистики по использованию памяти дальнего узла и недостатке CPU-ресурсов (метрика CPU Ready). После анализа конфигураций и использования ресурсов, утилита генерирует алерты, которые администратор может использовать как исходные данные при настройке новой конфигурации NUMA-узлов.
Скачать NUMA Observer
можно по этой ссылке. После установки сервис доступен через веб-консоль по адресу localhost:8443. Для его работы потребуется Java 8.
Многие из вас знакомы с продуктом VMware vRealize Operations, который предназначен для комплексного управления и мониторинга виртуальной инфраструктуры в различных аспектах. Одна из полезных возможностей этого решения - суперметрики (super metrics). Это те метрики, которые образованы путем каких-либо комбинаций обычных метрик через математическую формулу (например, какой процент CPU виртуальная машина отъедает от всего хоста ESXi). Для редактирования таких метрик используется super metric editor:
На ютуб-канале VMware Cloud Management появилась серия видеороликов, где в деталях рассказывается обо всех тонкостях суперметрик:
Видео короткие - от полутора до семи минут, так что весь плейлист можно будет посмотреть за полчасика. Полный плейлист всех роликов о суперметриках находится по этой ссылке.
На сайте проекта VMware Labs обновилась очередная интересная утилита Storage Performance Tester, которая позволяет провести тестирование хранилищ в один клик на сервере VMware ESXi, получив метрики IOPS, latency и CPU cycles per I/O. В новой версии появилась поддержка адаптеров vnvme, а также исправления ошибок для ESXi 6.7.
С помощью данного средства можно автоматизировать шаги проведения тестирования, которые включают в себя развертывание кастомизированной ВМ, запуск нагрузки по вводу-выводу внутри нее и, собственно, функции по анализу результата тестирования производительности.
Результаты для полученных метрик выводятся в графическом интерфейсе в виде диаграмм и комментариев к ним:
Самое приятное - это то, что утилита запускается одной командой, после чего пользователь получает итоговый результат. Выглядит это так:
#./sperf.py HOSTNAME -d DatastoreName
Данное средство можно использовать как для решения проблем с действующей инфраструктурой хранилищ, так и для выяснения максимальных параметров производительности только что купленного железа (диски, контроллеры, компоненты сети хранения данных).
Ну и видео о том, как это все работает:
Для запуска Storage Performance Tester вам потребуется:
Python 3
sshpass
2 ГБ свободного пространства на диске
Linux-окружение (ядро не старше 2.6.31)
Скачать Storage Performance Tester можно по этой ссылке.
Неофициально конкурс стартовал внутри команды Veeam в феврале этого года. В своей рассылке на форуме Гостев рассказал об установке системы резервного копирования Veeam, которая показала максимальную производительность, достигающую 11.4 ГБ/с. Коллеги делились цифрами, которые встречали в своей практике, и искали новые данные, которые побьют цифры Гостева. Теперь в Veeam решили сделать этот конкурс публичным - ищется самая быстрая инфраструктура резервного копирования Veeam в России!
Участвуйте и расскажите о конкурсе коллегам. Перед участием прочитайте ответы на вопросы об условиях конкурса. Самые интересные случаи Veeam соберет и опубликует в статье. Три самых быстрых результата получат призы:
Электросамокат XIAOMI
Проектор Xiaomi Mi Smart
Умная колонка Яндекс.Станция
Размещать результаты можно в Facebook или Twitter с хештегом #BeatTheGostev. Публикации с большим количеством лайков получат также шанс выиграть дополнительный секретный приз!
Конкурс продолжится до 30 сентября включительно, после чего будут подведены итоги. Кстати, скорость 11,4 ГБ/с для системы резервного копирования не является минимальным требованием для участия в конкурсе.
Среди открытых документов VMware появился очень интересный док - "vSphere Snapshots: Performance and Best Practices", в котором рассматривается весьма полезные многим администраторам аспекты - производительность снапшотов, а также, как правильно с ними обращаться. Мы часто пишем про это (1, 2, 3), а вот теперь есть и хороший документ с картинками.
Основные темы документа:
Что такое снапшоты
Какие есть форматы снапшотов
Описание тестового окружения и рабочих нагрузок
Результаты тестирования производительности
Выводы по этим результатам
Итак, для тестирования использовались следующие рабочие нагрузки:
FIO (стандартный тест производительности ввода-вывода)
JVM (бенчмарк SPECjbb 2015)
OLTP database (тест HammerDB)
Давайте взглянем на результаты тестирования производительности с точки зрения гостевой системы и ее приложений:
1. Число выдаваемых IOPS в зависимости от количества снапшотов для виртуальной машины (Random I/O):
В этом тесте и в последующих мы увидим, что снапшоты не влияют на производительность хранилищ VVols - такова природа этих хранилищ. А вот с VMFS и vSAN мы видим, что производительность падает, для VMFS - в три раза уже с первого снапшота, для vSAN - с третьего.
2. Для последовательного чтения vSAN ведет себя значительно лучше, а вот на VMFS производительность уже с первого снапшота падает в 2.5 раза, и дальше только хуже:
3. Для обработки запросов SPECjbb во всех трех случаях снапшоты не оказывали влияния на производительность:
4. По количеству транзакций в секунду тест HammerDB тоже показывает падение производительности хотя бы с одним снапшотом почти в 3 раза:
Интересно, что для хранилищ vSAN со снапшотами просадки по производительности для теста HammerDB нет.
5. Интересна также производительность гостевых ОС при соазднии и при удалении снапшотов:
Как мы видим, на VMFS критичен первый снапшот, и исходная производительность возвращается виртуальной машине только с удалением последнего снапшота. На vSAN производительность уменьшается и увеличивается постепенно, с изменением количества снапшотов.
Для больших блоков ввода вывода страдает только VMFS при последовательном чтении:
При последовательной записи больших блоков снапшоты влияют только на VMFS (при этом, только первый):
Ну и в заключение VMware приводит такую табличку потерь производительности для виртуальных машин с одним снапшотом:
Итак, очевидные выводы:
Снапшоты - зло. Особенно для VMFS и иногда для vSAN.
Особенное зло снапшотов проявляется для случайного чтения (Random reads), хотя и для последовательного все далеко не так хорошо.
Хранилищам VVol все равно на снапшоты, производительность не падает.
Зло, как правило, именно первый снапшот, дальше уже не так важно, сколько их, но производительность продолжает падать.
При удалении снапшотов производительность ВМ возвращается к исходному уровню.
На сайте проекта VMware Labs обновилась утилита HCIBench 2.6, которая до этого обновлялась осенью прошлого года. Напомним, что это средство позволяет провести комплексный тест производительности отказоустойчивых кластеров хранилищ VMware vSAN, а также других конфигураций виртуальной инфраструктуры. О прошлой версии HCIBench 2.4 мы писали вот тут.
Суть работы HCIbench проста - пользователь задает параметры работы скрипта, а утилита дает команду средству Vdbench, содержащую инструкции о том, какие действия необходимо выполнить в кластере хранилищ. Это может вам пригодиться, например, когда вы хотите убедиться, что развернутая инфраструктура обеспечивает достаточную производительность для планируемой на нее нагрузки.
Давайте взглянем на новые возможности HCIBench 2.6:
Сервер tomcat обновлен до версии 8.5.68
Поддержка IPv6 для сетей ВМ и Management Network - как для DHCPv6, так и для link-local mode
Поддержка режима развертывания multi-writer disk
Улучшенная пре-валидация за счет перехода на govc
Поддержка спецификации read/write io_limit для fio
Исправлена ошибка при запуске в инфраструктуре VMC
Улучшена система сбора диагностических бандлов в режиме отладки vSAN
На сайте проекта VMware Labs появилась новая утилита - Edge Services Observability. Она предназначена для мониторинга служб Edge Services (VMware Tunnel, Content Gateway, Secure Email Gateway, Reverse и Horizon Secure Access), которые запущены на модуле Unified Access Gateway - одном из ключевых компонентов решений VMware Horizon и Workspace ONE.
С помощью этого средства можно понять:
Производительность шлюза на основе его загрузки
Распределение трафика
Влияние правил Device Traffic Rules на производительность
Основные возможности утилиты:
Поставляется как готовый к настройке и развертыванию виртуальный модуль (Virtual Appliance) в формате OVA:
Веб-портал для управления инстансами Unified Access Gateway (UAG):
Дашборды для визуализации метрик компонентов VMware Tunnel и VMware Horizon на базе Grafana:
Возможность настройки алертов на основе различных условий, что позволяет оперативно выявлять аномалии
Скачать VMware Edge Services Observability можно по этой ссылке. Более подробная информация о продукте доступна тут.
Когда вышло обновление VMware vSphere 7 Update 2, мы рассказывали о новых оптимизациях для процессоров AMD EPYC, которые были сделаны в платформе виртуализации на базе гипервизора ESXi. Реализация поддержки новых функций CPU идет в соответствии с развитием технологий аппаратной виртуализации AMD, которую VMware поддерживает наравне с таковой от Intel.
В документе есть много интересных тестов (большинство из них сделано с помощью утилиты VMmark3), приведем ниже результаты некоторых из них:
Увеличение производительности одной ВМ для БД Microsoft SQL Server под нагрузкой HammerDB (тут и далее нормировано к показателям vSphere 7 Update 1):
Несколько виртуальных машин с 8 vCPU на борту и нагрузкой HammerDB - производительность при увеличении числа виртуальных машин на хосте:
Использование базы данных CockroachDB на 6-узловом кластере, прирост производительности до 50%:
Тестирование кластера Kubernetes c узлами по 64 воркера с помощью бенчмарка Weathervane (на 16 инстансах приложений прирост производительности - более 40%):
Оказывается у VMware есть утилита TENS, что расшифровывается как Traffic Emulator for Network Service. Это еще один эмулятор сетевой нагрузки от VMware, который, в отличие от аналогов, сфокусирован на паттернах нагрузки, а не только на генерации объема и интенсивности сетевого потока. В основном, подобные средства предназначены для того, чтобы выяснить максимальные параметры сетевой нагрузки, которые могут выдержать те или иные компоненты. Кроме того, при генерации нагрузки эти средства, как правило, работают с одним приложением, когда речь идет о задании паттернов.
VMware же решила сделать утилиту для симуляции паттернов нагрузки для нескольких приложений, чтобы изучать их поведение в условиях, приближенных к реальным. Проект TENS распространяется как Open Source и доступен в репозитории на GitHub.
Продукт состоит из двух компонентов:
Traffic Engine Controller (TEC) - это мозг всей системы, который управляет распределенными воркерами (их может быть сколько угодно) и предоставляет доступ сторонним системам через API.
Traffic Engines Datapath (TE-DP) - компоненты непосредственно эмулирующие трафик нагрузки в соответствии с реальными паттернами.
TENS может эмулировать несколько браузерных сессий, клиентов, соединений и запросов на уровнях L4 и L7. Это позволяет заполнить разрыв между тестовым окружением, предпроизводственной средой, которую надо хорошо оттестировать, и производственным окружением, где приложения должны выдерживать требования к нагрузке по TCP/HTTP/UDP. Также TENS выводит отчет о метриках и ошибках для компонентов тестируемой системы.
Основные возможности VMware Traffic Emulator for Network Service:
Функции для валидации и отчетности серверов балансировки нагрузки и серверов приложений.
Генерация трафика от нескольких пользователей, нескольких сессий одного пользователя и нескольких соединений/запросов в рамках одной сессии - все это для нескольких вычислительных узлов.
Комплексные метрики, выявление аномалий и мониторинг в реальном времени с одного узла с возможностью сообщения об ошибках как на уровне L4 (TCP/UDP), так и на L7 (HTTP/HTTPS).
Возможность генерации L7-траффика с разных исходных IP и пространств имен, с внедренными куками, хэдерами и параметрами запросов в измерениях RPS, TPS, TPUT и CPS.
Возможность запуска в нескольких процессинговых узлах, которые контролируются единой точкой доступа через API.
Поддержка трафика http/1, http/1.1 и http/2 на уровне L7.
Поддержка SSL версий SSLv2, SSLv3, TLSv1, TLSv1.0, TLSv1.1, TLSv1.2 и TLSv1.3 на уровне L7.
Поддержка взаимной аутентификации сервер-клиент за счет проверки сертификатов на уровне L7.
Возможность эмуляции аплоадов и загрузок больших UDP-датаграмм с несколькими одновременными подключениями на уровне L4.
Утилита TENS упакована для использования в контейнеризованных системах - как в облачных, так и онпремизных.
Возможность управлять утилитой через REST API для автоматизации операций и интеграции в общую инфраструктуру рабочих процессов тестирования.
Поддержка SSL session reuse и persistence validation, что позволяет более безопасно организовывать процесс тестирования.
На днях компания VMware обновила средство VMware OS Optimization Tool до версии b2002 на сайте проекта VMware Labs. Напомним, что эта утилита нужна для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач. О прошлом ее релизе мы писали вот тут.
Давайте посмотрим, что нового в мартовской версии VMware OSOT b2002:
Пункт "Block all consumer Microsoft account user authentication" отключен по умолчанию, чтобы пользователи не испытывали проблем с логином в Edge и Windows store.
Также по умолчанию отключен пункт "Turn off Thumbnail Previews in File Explorer", что приводило к не ожидаемому для пользователей поведению.
Для не-Enterprise изданий Windows 10, обновление KB4023057 устанавливает новое приложение Microsoft Update Health Tools. Теперь добавлена логика, позволяющая убедиться, что служба Windows Update Medic Service отключена при отключении обновлений, включая ситуации перещелкивания включенной/отключенной службы Windows Updates на вкладке Update.
Шаблоны Windows 8 и 8.1 были удалены из списка встроенных шаблонов. Чтобы работать с этими версиями, вам понадобится OSOT версии b1130.
Также из репозитория были удалены старые шаблоны Windows 10 1809-2004-Server 2019 и Windows 10 1507-1803-Server 2016.
Поправлена ошибка с обработкой файла тем, который обновлялся задачей Generalize, затиравшей предыдущие оптимизации.
Поправлена ошибка с файлом ответов, который теперь корректно обрабатывает имя администратора для задачи Generalize.
Удален старый код для GPO Policy corruption.
Убрано окошко CMD.exe, которое появлялось при логине.
Пофикшена ошибка, когда Windows Store Apps некорректно удалялись для Windows 10 version 20H2
Скачать VMware OS Optimization Tool версии b2002 можно по этой ссылке.
Продолжаем рассказывать о лучшем в отрасли решении для создания программных хранилищ под виртуальные машины на базе хост-серверов ESXi - StarWind Virtual SAN for vSphere. Как многие знают, с какого-то момента StarWind стала поставлять свое решение для платформ VMware в виде виртуального модуля (Virtual Appliance) на базе Linux, который реализует основные сервисы хранения, дедупликации и компрессии, а также отказоустойчивости и обеспечения надежности данных в виртуальных машинах.
Для виртуального модуля StarWind работа механизма дедупликации и компрессии обеспечивается средствами Linux-движка Virtual Data Optimizer (VDO), который появился относительно недавно. Это удобный и надежный способ экономии дискового пространства за счет использования дополнительных емкостей оперативной памяти на хосте.
Для начала вам нужно определиться с оборудованием хостов ESXi, где вы будете развертывать виртуальные модули StarWind. Как вы понимаете, в целях обеспечения отказоустойчивости таких узлов должно быть как минимум два.
Что касается HDD и SSD-дисков, то нужно также спланировать конфигурацию RAID на хранилище хостов. Сделать это можно в соответствии с рекомендациями, описанными в базе знаний StarWind. Вы можете использовать программный или аппаратный RAID, о настройках которого мы расскажем ниже.
Что касается дополнительной оперативной памяти на хосте ESXi, то нужно выбирать ее объем, исходя из следующих критериев:
370 МБ плюс дополнительные 268 МБ на каждый 1 ТБ физического хранилища
Дополнительно 250 МБ на 1 ТБ физического хранилища, если включена дедупликация (UDS index)
То есть для 4 ТБ физического хранилища с дедупликацией вам понадобится:
370 MB + 4 * 268 MB +4 * 250 MB = 2 442 MB RAM
Итого 2,4 ГБ оперативной памяти дополнительно к памяти под ОС виртуального модуля. Вообще, StarWind рекомендует 8 ГБ памяти для виртуального модуля - 4 ГБ на машину и 4 ГБ на движок VDO для работы с хранилищем.
Один VDO-том может работать с хранилищем до 256 ТБ, что покрывает максимум потребностей в рамках хранилищ на базе серверов. Также StarWind очень рекомендует использовать дисковые массивы All-flash или NVMe-оборудование.
Общее правило развертывания таких хранилищ таково:
Под VDO: аппаратный или программный RAID (LVM или mdraid)
Над VDO: "толстые" (thick) диски StarWind Virtual SAN в режиме stand-alone или HA
Надо понимать, что сам том VDO - это тонкий диск, растущий по мере наполнения, поэтому устройство под ним должно иметь расширяемую природу (MD RAID, LVM).
Примерная схема отказоустойчивого решения StarWind Virtual SAN for vSphere на базе 2 узлов выглядит так:
После того, как вы установите StarWind Virtual SAN, настроите виртуальную машину и StarWind Management Console, нужно будет настроить аппаратный или программный RAID для хранилища.
Если вы используете аппаратный RAID, то просто создайте виртуальный диск для ВМ StarWind Virtual SAN на его хранилище, но обязательно типа "Thick Provisioned Eager Zeroed" (также вы можете использовать RDM-диск):
Если же вы будете использовать программный RAID, то нужно будет использовать HBA или RAID-контроллер в режиме DirectPath I/O passthrough, чтобы получить прямой доступ к дискам и собрать на их базе RAID-массив.
Для этого вам нужно будте выбрать правильный HBA/RAID-контроллер как PCI-устройство:
И пробросить его напрямую в виртуальную машину StarWind:
После этого в StarWind Management Console можно будет собрать RAID нужного вам уровня:
Рекомендации тут такие:
После этого в виртуальном модуле StarWind на полученном хранилище нужно будет создать VDO-устройство с нужными вам параметрами:
Здесь мы видим, что создается устройство с включенной дедупликацией, выключенной компрессией, нужным размером индексной памяти и заданного объема.
После создания это устройство надо отформатировать в XFS со следующими параметрами:
Далее вы можете создавать хранилище StarWind на этом устройстве и (опционально) сделать его реплику на партнерском узле в режиме HA. Также рекомендуется выставить настройку Disk.DiskMaxIOSize на хосте ESXi
В значение 512:
Ну и про оптимизацию производительности I/O-планировщика прочитайте вот эту статью базы знаний StarWind. Если вам интересен процесс создания хранилищ с дедупликацией и компрессией на базе StarWind Virtual SAN в стиле "от и до", то рекомендуем прочитать вот эту статью.
На сайте VMware Labs появился интересный инструмент Virtualized High Performance Computing Toolkit, который может оказаться полезен компаниям, использующим VMware vSphere для организации высокопроизводительных вычислений (High Performance Computing, HPC). Такие комплексные вычислительные задачи, как правило, вовлекают параллельные вычисления, аппаратное ускорение (такое как GPU и FPGA), а также используют высокоскоростные каналы, такие как RDMA.
Все это требует определенных конфигураций VMware vSphere, для настройки которых и нужно данное средство. С помощью него, используя vSphere API, можно дать администраторам инструменты по сопровождению задач HPC, таких как клонирование ВМ, настройка Latency Sensitivity, сайзинг виртуальных машин по CPU и памяти и многое другое.
Основные возможности тулкита:
Настройка устройств PCIe в режиме DirectPath I/O, таких как GPGPU, FPGA и RDMA
Простое создание и уничтожение кластеров HPC с помощью файлов конфигураций
Выполнение задач vSphere, таких как клонирование, настройка vCPU, памяти, резерваций, shares, Latency Sensitivity, обычного и распределенного виртуального коммутатора, сетевых адаптеров и конфигураций
Например, клонирование 4 виртуальных машин с заданными кастомизациями CPU и памяти, а также добавлением NVIDIA vGPU с профилем grid_p100-4q выглядит так:
Администраторы VMware vSphere в больших инфраструктурах иногда используют кластеры Windows Server Failover Clusters (WSFC) на базе RDM-дисков, которые доступны для хостов VMware ESXi. Ранее они назывались Microsoft Cluster Service (MSCS). При использовании таких кластеров время загрузки хоста ESXi может вырасти аж до целого часа, если не поставить этим LUN статус Perennially reserved.
Суть проблемы в том, что WSFC ставит SCSI-3 reservations для своих LUN, используемых активным узлом, и если ESXi видит эти тома (то есть они не отмаскированы для него), то он безуспешно пытается получить к ним доступ. Для этого он делает несколько попыток при загрузке, пока не решает перейти к следующим томам. Статус этих операций вы можете увидеть, если нажмете Alt+F12 при загрузке хоста:
Xavier Avrillier написал статью о том, как с помощью esxicli/PowerCLI пометить такие тома как Perennially reserved, чтобы ESXi пропускал их при сканировании (об этом также рассказано в KB 1016106).
Сначала вам надо узнать LUN canonical name устройства. Делается это следующей командой PowerCLI: